<?php
include('class/class_connect.php');
include('class/class_page.php');
include('class/city_rus.php');
include('class/class_form.php');
include('class/class_checkGetData.php');
foreach($_GET as $key=>$val)
{
	$_GET[$key]=checkGetData::safetyCheck($val);
}
session_start();
if(!$_SESSION['login'])
{	header('location: registr.php?city='.$_GET['city']);
	exit;
}
$aConnect=new connect('main');
$row=mysql_fetch_array($aConnect->select_all('users', "WHERE login='".$_SESSION['login']."'"));

$aForm=new  form();
if(isset($_POST['editProfile']))
{
	$warning=false;
	$aForm->safetyCheckAll($_POST);
	$loginRegExp="/^[-a-zA-Z0-9]+$/";
	$regExp="/^[a-z0-9_-](([_\.-]?[a-z0-9_-]+)*){0,19}@([a-z0-9-_]([_-]?[a-z0-9-_]+)?\.){1,3}[a-z]{2,6}$/i";
	$subSymbols='` ~ ! @ # $ % ^ & * ( ) + = \' " ; : / ? . > < , \r \n \\';
	$subSymbols=explode(' ', $subSymbols);
	$rusRegExp="/^[-a-zA-Zа-яА-Я]+$/";
	$pasRegExp="/^[-a-zA-Zа-яА-Я0-9]+$/";
	$aConnect=new connect('main');
	if($_POST['password'])
	{
		if($_POST['password']=='')
		{
			$warning='Вы не ввели пароль';
			$_POST['password']=$row['password'];
		}
		elseif(!preg_match($pasRegExp, $_POST['password']))
		{
			$warning='Недопустимый пароль (только русские и английские буквы и цифры)';
			$_POST['password']=$row['password'];
		}
		elseif(!preg_match($pasRegExp, $_POST['password2']))
		{
			$warning='Недопустимый пароль (только русские и английские буквы и цифры)';
			$_POST['password2']=$row['password'];
		}
		elseif(strlen($_POST['password'])<3)
		{
			$warning='Пароль не может быть короче трех символов!';
			$_POST['password']=$row['password'];
		}
		elseif(strlen($_POST['password'])>20)
		{
			$warning='Пароль не может быть длиннее 20 символов!';
			$_POST['password']=$row['password'];
		}
		elseif($_POST['password2']=='')
		{
			$warning='Вы не ввели пароль еще раз!';
			$_POST['password2']=$row['password'];
		}
		elseif($_POST['password2']!=$_POST['password'])
		{
			$_POST['password']=$row['password'];
			$warning='Пароли не  совпадают!';
		}
		elseif(strlen($_POST['password2'])>20)
		{
			$warning='Пароль не может быть длиннее 20 символов!';
			$_POST['password']=$row['password'];
		}
	}
	if($_POST['email'])
	{
		if($_POST['email']=='')
		{
			$warning='Вы не ввели E-mail!';
			$_POST['email']=$row['email'];
		}
		elseif(!preg_match($regExp, $_POST['email']))
		{
			$warning='Недопустимый E-mail!';
			$_POST['email']=$row['email'];
	    }
	    elseif(strlen($_POST['email'])>30)
		{
			$warning='E-mail не может быть длиннее 30 символов!';
			$_POST['email']=$row['email'];
		}
		elseif(mysql_num_rows($aConnect->select_all('users', "WHERE email='".$_POST['email']."'"))>0)
		{
			$warning='Данный E-mail уже зарегистрирован на сайте!';
			$_POST['email']=$row['email'];
		}
	}
	if($_POST['name'])
	{
    	for($i=0; $i<strlen($_POST['name']); $i++)
    	{
    		if(in_array($_POST['name'][$i], $subSymbols))
    		{
		    	$warning='Недопустимое имя!(Русские и английские буквы)';
				$_POST['name']=$row['name'];
			}
		}
	    if(!$warning && strlen($_POST['name'])>30)
		{
			$warning='Имя не может быть длиннее 30 символов!';
			$_POST['name']=$row['name'];
		}
	}
	if($_POST['surname'])
	{
	   for($i=0; $i<strlen($_POST['surname']); $i++)
    	{
    		if(in_array($_POST['surname'][$i], $subSymbols))
    		{
		    	$warning='Недопустимая фамилия!(Русские и английские буквы)';
				$_POST['surname']=$row['surname'];
			}
		}
	    if(!$warning && strlen($_POST['surname'])>30)
		{
			$warning='Фамилия не может быть длиннее 30 символов!';
			$_POST['surname']=$row['surname'];;
		}
	}

	if(!$warning)
	{		$data=array();
		if($_POST['email'])$data[]="email='".$_POST['email']."'";
		if($_POST['password'])$data[]="password='".md5($_POST['password'])."'";
		if($_POST['name'])$data[]="name='".$_POST['name']."'";
		if($_POST['surname'])$data[]="surname='".$_POST['surname']."'";

		$dataToInsert=implode(', ', $data);
		if($_POST['imgName'])
		{
			if(file_exists($_POST['imgName'].'.jpg'))
			{
				rename($_POST['imgName'].'.jpg', 'avatars/'.strtolower($_SESSION['login']).'.jpg');
			}
		}
		if($dataToInsert)$aConnect->update_data('users', $dataToInsert, "WHERE login='".$_SESSION['login']."'");
		header('location: pcabinet.php?city='.$_GET['city']);
	}


}
class aFirmPage extends page
{
	var $warning;
	var $row=array();
	function __construct($warning, $row=array())
	{
		$this->warning=$warning;
		$this->row=$row;
		parent::__construct();
	}
	function title()
	{
		echo 'Редактировать профиль пользователя';
	}
	function maincontent()
	{
		$aForm=new  form();
		$aForm->includeStyle();
		$aForm->includeScript();
		$imgName='temp'.rand();
		$avatar='images/guest.jpg';
		if(file_exists('avatars/'.$this->row['login'].'.jpg'))
			 $avatar='avatars/'.$this->row['login'].'.jpg';
		if($_POST['imgName'])
		{
			$avatar=$_POST['imgName'].'.jpg';
		}
		echo ('
		<script type="text/javascript" src="scripts/editProfile.js">
		</script>
		<script type="text/javascript" src="jquery/ajaxUpload.js">
  		</script>
		<link rel="stylesheet" type="text/css" href="style/registrate.css" />
		  <div class="form" align="center">
		  <h3>Редактировать профиль</h3>
		   <form method="post" id="editProfile" name="editProfile" action="" autocomplete="off">
		   		<center id="warning">&nbsp;'.$this->warning.'</center>
		   		<div class="editElem">
			   		<div class="signature">
			   	 		Аватар:
			   	 	</div>
			   		<div id="avatar">
				     	<div id="upload">
				 			<span id="span" class="loadButton" imgName="'.$imgName.'">Изменить</span>
				 		</div>
				 		<div id="preview">
		   	 				<img src="'.$avatar.'" />
		   	 				<input type="hidden" name="imgName" value="'.$_POST['imgName'].'" />
		   	 				<span id="status"></span>
				    	</div>
			   	 	</div>
		   	 	</div>
		   	 	<div class="editElem">
			   	 	<div class="signature">
			   	 		Логин:
			   	 	</div>
			   		'.$this->row['login'].'<br />
			   		<no>Не изменяется</no>
				</div>
		   	 	<div class="editElem">
			   		<div class="signature">
			   	 		E-mail:
			   	 	</div>
			   		<div id="email" class="edit" value="'.$this->row['email'].'">
			   			'.$this->row['email'].'<br /><but class="but">изменить</but>
			   		</div>
				</div>
		   	 	<div class="editElem">
			   		<div class="signature">
			   	 		Имя:
			   	 	</div>
			   		<div id="name" class="edit" value="'.$this->row['name'].'">
			   			'.$this->row['name'].'<br /><but class="but">изменить</but>
			   		</div>
				</div>
		   	 	<div class="editElem">
			   		<div class="signature">
			   	 		Фамилия:
			   	 	</div>
			   		<div id="surname" class="edit" value="'.$this->row['surname'].'">
			   			'.$this->row['surname'].'<br /><but class="but">изменить</but>
			   		</div>
				</div>
		   	 	<div class="editElem">
			   		<div class="signature">
			   	 		Пароль:
			   	 	</div>
			   		<div id="passwords" class="edit" value="">
			   			&nbsp;
			   			<but class="but">изменить</but>
			   		</div>
				</div>
                <input type="submit" value="Сохранить" class="button button-blue" name="editProfile">
		   </form>
		  </div>
		');
	}
}

$aPage=new aFirmPage($warning, $row);

?>